The World Wide Web (WWW) is a system of Internet servers that support specially formatted documents. The documents are formatted in a script called HTML (HyperText Markup Language) that supports links to anything that is capable of being transmitted digitally over the Internet, such as documents, graphics, audio files, video files and the like. There are several applications called “web browsers” that simplify access to the WWW. Two notable examples are Netscape Navigator™ and Microsoft's Internet Explorer™.
For a transaction on the WWW between a client terminal and a host server, the client terminal retrieves a web object from the host server. The host server is identified through a Uniform Resource Locator (URL), which is the global address of documents and other resources on the WWW. The client terminal normally accesses the Internet through an Internet Access Service Provider (IASP). A cache, located within the IASP network, functions as an intermediary in transactions involving retrieval of objects from servers by a client terminal. The cache within the IASP saves a copy of a retrieved object for itself when the object is moved from the server to the requesting client terminal. This caching operation is transparent to the user and, under normal circumstances, does not result in substantial delay from the copying operation. The copying operation is performed simultaneously with the retrieval from the server and the delivery to the client terminal.
The cache within the IASP network satisfies subsequent requests for objects that are stored therein, thereby obviating the necessity of retrieving the object from the original server. This reduces the delay as perceived by the user to access the object and saves bandwidth on links that connect the IASP network to the Internet. HTTP is the underlying protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted and what actions web servers and browsers should take in response to various commands. Direct browsing by multiple clients to a particular site using HTTP tends to result in overloading of the host.
A further problem currently exists with satisfying subsequent requests for an object from the cache. The copy of the object stored in the cache may differ from the object in the server if the latter is modified after the initial request for the object. When this occurs, the copy of the object provided to the requesting client from the cache may not be current.
The disadvantages associated with current, server download techniques have made it apparent that a new technique for downloading objects is needed. Given a host server web page, the new technique should allow multiple clients to rapidly and efficiently download the entire page. The new technique should also update cached information to minimize outdated information transfers. The present invention is directed to these ends.